1. Field of the Invention
This invention relates to computer systems, and more particularly, to device group management within storage virtualization environments.
2. Description of the Related Art
Many business organizations and governmental entities rely upon applications that access large amounts of data, often exceeding a terabyte or more of data, for mission-critical applications. Often such data is stored on many different storage devices, which may be centrally located or distributed throughout an enterprise. Such storage devices may be heterogeneous in nature, including many different types of devices with varying functional and performance specifications from many different manufacturers.
Configuring individual applications that consume data, or application server systems that host such applications, to recognize and directly interact with each different storage device that may possibly be encountered in a heterogeneous storage environment would be increasingly difficult as the environment scaled in size and complexity.
Therefore, in some storage environments, specialized storage management software and hardware may be used to provide a more uniform storage model to storage consumers. Such software and hardware may also be configured to add storage features not present in individual storage devices to the storage model. For example, features to increase fault tolerance, such as data mirroring, snapshot/fixed image creation, or data parity, as well as features to increase data access performance, such as disk striping, may be implemented in the storage model via hardware or software.
In such storage environments, a set of storage devices may be aggregated as a virtual device group and managed as a unit in order to support desired functionality. For example, a virtual device group may be exported as a unit from one storage environment, and imported at another. Storage devices aggregated into a virtual device group may need to conform to a set of group membership requirements, where the set of requirements may vary with the specific functionality desired. For example, all the storage devices constituting a virtual device group may be required to provide a specified minimum level of performance, and/or to support a specific operation such as the ability to create a hardware snapshot. If a virtual device group is modified in a manner incompatible with the group membership requirements (for example, by adding a device that does not support a particular function supported by other devices already included within the virtual device group), data loss may occur, and/or elements of metadata used to manage the storage environment may become unavailable or corrupted. In a storage environment where storage devices with different technical specifications from multiple vendors may be used, the use of vendor-specific and/or device-specific interfaces to verify that group membership requirements are met by each device may result in inefficiencies (e.g., duplication of code) and in error-prone storage management software.